#!/bin/bash

# IO工具安装脚本
# 安装所有必要的IO监控和优化工具

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# 检查是否以root权限运行
if [[ $EUID -ne 0 ]]; then
   echo -e "${RED}此脚本需要root权限运行${NC}"
   echo "请使用 sudo $0 重新运行"
   exit 1
fi

echo -e "${BLUE}===== IO工具安装脚本 =====${NC}"
echo "此脚本将安装所有必要的IO监控和优化工具"
echo

# 更新软件包列表
echo -e "${BLUE}[1/5] 更新软件包列表...${NC}"
apt-fast update
echo -e "${GREEN}✓ 软件包列表已更新${NC}"

# 安装基本工具
echo -e "${BLUE}[2/5] 安装基本IO工具...${NC}"
apt-fast install -y sysstat iotop htop smartmontools hdparm
echo -e "${GREEN}✓ 基本IO工具已安装${NC}"

# 安装高级工具
echo -e "${BLUE}[3/5] 安装高级IO工具...${NC}"
apt-fast install -y fio iftop dstat
echo -e "${GREEN}✓ 高级IO工具已安装${NC}"

# 设置权限
echo -e "${BLUE}[4/5] 设置脚本执行权限...${NC}"
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
chmod +x "$SCRIPT_DIR"/io-*.sh
echo -e "${GREEN}✓ 脚本执行权限已设置${NC}"

# 创建桌面快捷方式
echo -e "${BLUE}[5/5] 创建桌面快捷方式...${NC}"

# 获取当前用户
CURRENT_USER=$(logname 2>/dev/null || echo $SUDO_USER)
if [ -z "$CURRENT_USER" ]; then
    CURRENT_USER=$(who | awk '{print $1}' | head -1)
fi

if [ -n "$CURRENT_USER" ]; then
    DESKTOP_DIR="/home/$CURRENT_USER/Desktop"
    
    if [ -d "$DESKTOP_DIR" ]; then
        # IO监控工具快捷方式
        cat > "$DESKTOP_DIR/IO监控工具.desktop" << EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=IO监控工具
Comment=监控系统IO状态
Exec=gnome-terminal -- bash -c "$SCRIPT_DIR/io-monitor.sh; echo '按任意键退出'; read -n1"
Icon=utilities-system-monitor
Terminal=false
Categories=System;Monitor;
EOF
        
        # IO优化工具快捷方式
        cat > "$DESKTOP_DIR/IO优化工具.desktop" << EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=IO优化工具
Comment=优化系统IO参数
Exec=gnome-terminal -- bash -c "sudo $SCRIPT_DIR/io-optimizer.sh; echo '按任意键退出'; read -n1"
Icon=system-software-update
Terminal=false
Categories=System;Settings;
EOF
        
        # 设置权限
        chown $CURRENT_USER:$CURRENT_USER "$DESKTOP_DIR/IO监控工具.desktop"
        chown $CURRENT_USER:$CURRENT_USER "$DESKTOP_DIR/IO优化工具.desktop"
        chmod +x "$DESKTOP_DIR/IO监控工具.desktop"
        chmod +x "$DESKTOP_DIR/IO优化工具.desktop"
        
        echo -e "${GREEN}✓ 桌面快捷方式已创建${NC}"
    else
        echo -e "${YELLOW}未找到桌面目录，跳过创建快捷方式${NC}"
    fi
else
    echo -e "${YELLOW}无法确定当前用户，跳过创建快捷方式${NC}"
fi

# 总结
echo
echo -e "${GREEN}===== IO工具安装完成 =====${NC}"
echo "已安装的工具:"
echo "1. sysstat (iostat, mpstat等)"
echo "2. iotop (IO使用率监控)"
echo "3. htop (系统资源监控)"
echo "4. smartmontools (磁盘健康监控)"
echo "5. hdparm (磁盘参数设置)"
echo "6. fio (IO性能测试)"
echo "7. iftop (网络流量监控)"
echo "8. dstat (系统资源统计)"
echo
echo "可用的脚本:"
echo "1. io-monitor.sh (IO监控工具)"
echo "2. io-optimizer.sh (IO优化工具)"
echo "3. io-optimizer-restore.sh (恢复默认设置)"
echo "4. diskspeedtest.py (磁盘速度测试)"
echo
echo -e "${YELLOW}使用方法:${NC}"
echo "- 运行IO监控: $SCRIPT_DIR/io-monitor.sh"
echo "- 优化系统IO: sudo $SCRIPT_DIR/io-optimizer.sh"
echo "- 恢复默认设置: sudo $SCRIPT_DIR/io-optimizer-restore.sh"
echo "- 测试磁盘速度: python3 $SCRIPT_DIR/diskspeedtest.py"